<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    /*
      Symbol 基础数据类型  得到唯一的值  可以避免对象属性名的冲突

      Set Map 复杂数据类型(构造函数)
        Set 没有重复项  去重
        Map 对象的键可以是任意类型  非常复杂业务带来的数据
    */

    // function Person(name) {
    //   this.name = name
    // }
    // // 给构造函数的原型添加方法  共享给所有实例
    // Person.prototype.sing = function() {
    //   console.log('两只老虎')
    // }

    // const p = new Person('zs')
    // console.log(p)
    // p.sing()

    // ----------es6的class类(构造函数+原型的语法糖-简写)--------------------------
    class Person {
      constructor(name) {
        this.name = name
      }

      sing() {
        console.log('两只老虎')
      }
    }

    const p = new Person('zs')
    console.log(p)
    p.sing()
  </script>
</body>
</html>
